#!/usr/bin/env python

bld.SAMBA3_LIBRARY('idmap',
                   source='idmap.c idmap_util.c',
                   deps='samba-util pdb',
                   allow_undefined_symbols=True,
                   private_library=True)

bld.SAMBA3_SUBSYSTEM('IDMAP_RW',
                     source='idmap_rw.c',
                     deps='samba-util')

bld.SAMBA3_SUBSYSTEM('IDMAP_TDB_COMMON',
                     source='idmap_tdb_common.c',
                     deps='tdb IDMAP_RW')

bld.SAMBA3_SUBSYSTEM('IDMAP_HASH',
                    source='idmap_hash/idmap_hash.c idmap_hash/mapfile.c',
                    deps='samba-util krb5samba',
                    enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_hash'))

bld.SAMBA3_SUBSYSTEM('IDMAP_AD',
                    source='idmap_ad.c idmap_ad_nss.c',
                    deps='ads nss_info',
                    enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_ad'))

bld.SAMBA3_MODULE('idmap_ad',
                 subsystem='idmap',
                 allow_undefined_symbols=True,
                 source='',
                 deps='IDMAP_AD TLDAP LIBNMB',
                 init_function='',
                 internal_module=bld.SAMBA3_IS_STATIC_MODULE('idmap_ad'),
                 enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_ad'))

bld.SAMBA3_MODULE('idmap_rfc2307',
                 subsystem='idmap',
                 allow_undefined_symbols=True,
                 source='idmap_rfc2307.c',
                 init_function='',
                 deps='ads',
                 internal_module=bld.SAMBA3_IS_STATIC_MODULE('idmap_rfc2307'),
                 enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_rfc2307'))

bld.SAMBA3_MODULE('idmap_rid',
                 subsystem='idmap',
                 allow_undefined_symbols=True,
                 source='idmap_rid.c',
                 init_function='',
                 internal_module=bld.SAMBA3_IS_STATIC_MODULE('idmap_rid'),
                 enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_rid'))

bld.SAMBA3_MODULE('idmap_passdb',
                 subsystem='idmap',
                 source='idmap_passdb.c',
                 deps='samba-util samba-passdb',
                 init_function='',
                 internal_module=bld.SAMBA3_IS_STATIC_MODULE('idmap_passdb'),
                 enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_passdb'))

bld.SAMBA3_MODULE('idmap_ldap',
                 subsystem='idmap',
                 source='idmap_ldap.c',
                 deps='smbldap smbldaphelper pdb IDMAP_RW',
                 init_function='',
                 internal_module=bld.SAMBA3_IS_STATIC_MODULE('idmap_ldap'),
                 enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_ldap') and bld.CONFIG_SET("HAVE_LDAP"),
                 allow_undefined_symbols=True)

bld.SAMBA3_MODULE('idmap_nss',
                 subsystem='idmap',
                 source='idmap_nss.c',
                 deps='samba-util',
                 init_function='',
                 internal_module=bld.SAMBA3_IS_STATIC_MODULE('idmap_nss'),
                 enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_nss'))

bld.SAMBA3_MODULE('idmap_tdb',
                 subsystem='idmap',
                 source='idmap_tdb.c',
                 deps='samba-util tdb IDMAP_TDB_COMMON',
                 init_function='',
                 allow_undefined_symbols=True,
                 internal_module=bld.SAMBA3_IS_STATIC_MODULE('idmap_tdb'),
                 enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_tdb'))

bld.SAMBA3_MODULE('idmap_tdb2',
                 subsystem='idmap',
                 source='idmap_tdb2.c',
                 deps='samba-util tdb IDMAP_TDB_COMMON',
                 init_function='',
                 internal_module=bld.SAMBA3_IS_STATIC_MODULE('idmap_tdb2'),
                 enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_tdb2'))

bld.SAMBA3_MODULE('idmap_hash',
                 subsystem='idmap',
                 source='',
                 deps='IDMAP_HASH',
                 allow_undefined_symbols=True,
                 init_function='',
                 internal_module=bld.SAMBA3_IS_STATIC_MODULE('idmap_hash'),
                 enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_hash'))

bld.SAMBA3_SUBSYSTEM('IDMAP_AUTORID_TDB',
                     source='idmap_autorid_tdb.c',
                     deps='tdb')

bld.SAMBA3_MODULE('idmap_autorid',
                 subsystem='idmap',
                 source='idmap_autorid.c',
                 deps='samba-util tdb IDMAP_TDB_COMMON IDMAP_AUTORID_TDB',
                 init_function='',
                 internal_module=bld.SAMBA3_IS_STATIC_MODULE('idmap_autorid'),
                 enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_autorid'),
                 allow_undefined_symbols=True)

bld.SAMBA3_LIBRARY('nss_info',
                   source='nss_info.c',
                   deps='samba-util param',
                   private_library=True)

bld.SAMBA3_MODULE('nss_info_template',
                 subsystem='nss_info',
                 source='nss_info_template.c',
                 deps='samba-util krb5samba',
                 init_function='',
                 internal_module=bld.SAMBA3_IS_STATIC_MODULE('nss_info_template'),
                 enabled=bld.SAMBA3_IS_ENABLED_MODULE('nss_info_template'))

bld.SAMBA3_MODULE('nss_info_hash',
                 subsystem='nss_info',
                 source='',
                 deps='IDMAP_HASH',
                 allow_undefined_symbols=True,
                 init_function='',
                 internal_module=bld.SAMBA3_IS_STATIC_MODULE('idmap_hash'),
                 enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_hash'))

bld.SAMBA3_MODULE('nss_info_rfc2307',
                 subsystem='nss_info',
                 source='',
                 deps='IDMAP_AD',
                 allow_undefined_symbols=True,
                 init_function='',
                 internal_module=bld.SAMBA3_IS_STATIC_MODULE('idmap_ad'),
                 enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_ad'))

bld.SAMBA3_MODULE('nss_info_sfu20',
                 subsystem='nss_info',
                 source='',
                 deps='IDMAP_AD',
                 allow_undefined_symbols=True,
                 init_function='',
                 internal_module=bld.SAMBA3_IS_STATIC_MODULE('idmap_ad'),
                 enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_ad'))

bld.SAMBA3_MODULE('nss_info_sfu',
                 subsystem='nss_info',
                 source='',
                 deps='IDMAP_AD',
                 allow_undefined_symbols=True,
                 init_function='',
                 internal_module=bld.SAMBA3_IS_STATIC_MODULE('idmap_ad'),
                 enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_ad') and bld.CONFIG_SET("HAVE_LDAP"))

bld.SAMBA3_MODULE('idmap_script',
                 subsystem='idmap',
                 allow_undefined_symbols=True,
                 source='idmap_script.c',
                 init_function='',
                 internal_module=bld.SAMBA3_IS_STATIC_MODULE('idmap_script'),
                 enabled=bld.SAMBA3_IS_ENABLED_MODULE('idmap_script'))
